Witajcie w nowym roku! Zapowiada się on ciekawie, bo po pierwsze doczekamy się UI Layerów, po drugie będzie to rok rozwoju GMRT (nowszego runtime), a dzięki systemowi pluginów GM ma szansę rozwijać się w zupełnie nowe sposoby.
Podsumowanie 2024
Poniżej skrócona wersja najważniejszych zmian wprowadzonych w wersjach 2024.2 - 2024.11:
- Project Tool dla konwertowania starszych projektów
- wsparcie dla FMOD
- tryb równań dla blendingu (blend equation)
- sencil buffer, surface depth
- raycast dla fizyki
- optymalizacje hashowania dla structów, optymalizacje kompilacji dla liczb i stringów (głównie dla literałów, czyli wartości które są predefiniowane na całą grę)
- optymalizacje sprawdzania kolizji
- nowe funkcje dla UI debugowego w grze, nowe wykresy (surface, tekstury, zużycie pamięci)
- kompresja danych tilesetów, szybkie kompresje obrazków GPU (ASTC, bcN)
- tekst w romach jako asset
- flex panele
- gpu scissor
- wsparcie dla SVG w runtime (jako vertexy)
- wsparcie dla ARM64
- uwolnienie eksportu OperaGX od serwisu i przeglądarki Opery (można odpalać w kazdej przeglądarce i poza ich serwisem; eksport WASM zastąpi HTML5)
- przepisanie systemu audio
- opcja nie kompilowania assetów których nie uzywamy
- minimalizacja, maksymalizacja, fullscreen dla gier bez bordera
- rozszerzenia i ulepszenia w json_parse()/json_stringify()
- poprawki wydajności IDE, przepisanie komponentów na system pluginów
- instancje/assety dostały nowy planel w room editorze, co przywróciło ich czytelność i działa lepiej z inspektorem i nowym edytorem kodu
- ponad 1500 poprawionych bugów
Dostępne w wersji beta:
- nowy edytor kodu (CE2)
- prefaby (na razie tylko bundle od YYG)
- GMRT dla Windows
- obsługa JS w GMRT
W zeszłym roku nie udało się jedynie wprowadzić długo oczekiwanych layerów UI - były one jednak w 2024 roku rozwijane i są one jednak wpisane jako jedyny feature najbliższego wydania - 2024.13 - którego już sama numeracja mówi, że wjadą tam rzeczy, które nie zdążyły (emeryci mogą mieć trzynastki i czternastki, to kto GM-owi zabroni!). Numeracja ta wynika też z tego, że od roku 2025 GM będzie wydawany tylko w dwóch wariantach - stabilnej (LTS) i beta. YYG chciałoby, aby pierwsza wersja LTS na rok 2025 zawierała nowy edytor kodu, obsługę prefabów i layery UI w wersjach stabilnych - wersje LTS dostaną aktualizacje raz na pół roku. Stąd też wszystko co wyjdzie przed tą "stabilną" wersją zostanie oznaczone nadal rokiem 2024 (żeby się nikt nie mylił, jak z wersją 2022.0 która była nowsza od np. 2022.9). Dzięki systemowi pluginów będzie można jednak aktualizować niektóre funkcjonalności częściej (pluginy również będą mieć kanał beta i LTS) - jeśli więc ktoś martwi się, że nowy edytor kodu może mieć jeszcze choroby wieku dziecięcego, na których poprawki trzeba by długo czekać, może spać spokojnie - edytor też jest pluginem.
Rok 2025
Nie znane są plany nowych funkcjonalności GM/GML na rok 2025, wiemy natomiast, że firma chciałaby wydać:
- pierwsze tygodnie 2025: beta GMRT Linux/Mac
- pierwsza połowa 2025: beta GMRT Android/iOS, layery UI, LTS 2025.0
- druga połowa 2025: beta wsparcia dla C#, beta GMRT na konsole, LTS 2025.1
- nieznany termin: API dla tworzenia własnych pluginów w IDE, hostowanie własnych prefabów, nowy marketplace, nowy room editor, nowy rollback
Nie oznacza to jednak, że to jedyne nowości - ostatnie 3 lata przyzwyczaiły nas do wielu nowych funkcji GML, więc zakładam, że i ten rok przyniesie nam kolejne, aczkolwiek dostępne już tylko w GMRT.
Obecny runtime (GMS2 VM, GMS2 YYC) przestanie dostawać aktualizacje w 2027 roku i będzie działać tak długo, jak pozwolą API i SDK danej platformy (można więc szacować, że dla Androida, iOS i konsol będzie to max 6-12 miesięcy, dla Linuxa i Maca kilka lat, natomiast dla Windowsa i WASM nawet kilkanaście lat).
Obecny runtime nie dostanie już też nowych funkcjonalności poza wspomnianymi layerami UI - będzie jednak przez te 2 lata dostawał poprawki wszelkich bugów. Warto też pamiętać, że funkcje i funkcjonalności to różne rzeczy, więc nie jest tak, że już kategorycznie nic nowego się nie pojawi...
GMCLAN.org
Witamy na stronie polskiej społeczności programu GameMaker!
Naucz się tworzenia gier z naszych kursów, zadawaj pytania oraz prowadź dyskusje na Forum lub Discordzie.
Pomagamy w tworzeniu gier już 23 lat - chętnie pomożemy i Tobie.
Aktualności
GM 2024.11 dostępny!
YYG wypuściło ostatnią tegoroczną wersję stabilną GM oznaczoną jako 2024.11.
Dla przypomnienia:
- obecny runtime dostanie jeszcze layery UI w wydaniu 2024.13, wraz z innymi poprawkami
- od 2025 będziemy dostawać wersje stabilne (LTS) co pół roku, oraz bety (co kilkanaście dni); znikają wersje miesięczne; wersja 2025.0 będzie zawierać to co 2024.13 + wszelkie poprawki (zwłaszcza dla pluginów, które mogą dostawać aktualizacje częściej i osobno)
- GMRT będzie w 2025 doganiał obecny runtime, oraz otrzymywał nowyme funkcjonalności
- obecny runtime nie dostanie już nowych funkcjonalności, ale będzie aktualizowany i łatany do 2027 roku - potem będzie działał zależnie od platformy, do pierwszych drastycznych zmian SDK/API.
- oba runtime są wciąż darmowe tak długo, jak projekt nie przynosi przychodów; konsolowe są nadal płatne (gdy ich używamy)
Co nowego w 2024.11 ?
- 350+ poprawek
- poprawki wydajności IDE - wyłapano różne miejsca, które prowadziły do wycieków pamięci lub wywoływane były zbyt wiele razy; poprawki na niektóre GPU AMD i nVidia
- nowy edytor kodu CE2 (ma jeszcze sporo bugów, dlatego domyślnie jest wyłączony)
- system pluginów w IDE (na razie tylko pluginy YYG)
- system prefabów (na razie tylko prefaby YYG; tylko w becie)
- wsparcie dla SVG (jako vertexy, tak samo jak SWF; na razie tylko w becie; w 2024.13 dojdzie outline oraz gradient)
- nowy aktualizator Windowsa (zobaczycie go w akcji dopiero przy następnej aktualizacji, ale już jest na dysku)
- opcja nie kompilowania zasobów, których nie używamy (domyślnie wyłączona w starych projektach; domyślnie włączona dla nowych projektów w 2024.11+). Działa to tak, że jeśli nazwa jakiegoś zasobu nie pada w kodzie, nie będzie on kompilowany. Jeśli jakieś zasoby wczytujemy jako string, warto zrobić zmienną, w której będzie tablica takich zasobów (gra nie musi z niej skorzystać, ważne, żeby były gdziekolwiek w kodzie). Ustawienie jest w "Game Options" (dla każdego projektu osobno).
- wsparcie Windows ARM64
- eksport gier WASM dla dowolnej przeglądarki - pozwala eksportować gry GX.games jako .zip, dzięki czemu można je odpalić poza serwisem gx.games; WASM jest wydajniejszy od HTML5 i ma mniej bugów, będzie też domyślnym eksportem zamiast HTML5 w GMRT
- other trzyma teraz poprzedni kontekst (self) w przypadku metod i with - #7349
- poprawki layerów FX - jeśli wasz layer się uszkodził, otworzenie rooma i przejście na ten layer powinno go naprawić
- audio zgłasza błędne argumenty - w poprzednich wersjach GM niektóre funkcje działały nawet gdy podawano błędne parametry - teraz będą poprawnie wywalać błąd, ale można skorzystać z audio_throw_on_error()
i łapać wyjątki, lub włączyć zachowanie "legacy" jeśli naprawianie gry po zmianach nie powiedzie się
- json_parse()
zwróci teraz błąd, gdy przekażemy liczbę, a real()
zwróci błąd, gdy w tekście jest spacja lub litery (można włączyć zachowanie "legacy" dla tej zmiany)
- static są wywoływane tylko raz jeśli w trakcie pierwszego wywołania danego statica, zostaje on wywołany ponownie (można wyłączyć zachowanie "legacy")
- przełącznik dla włączenia starych zachowań (legacy) - przywraca wspomniane: wielokrotne wywoływanie static jeśli nastąpi pętla generowania konstruktorów, przywraca stary system błędów audio, przywraca dawne działanie other, przywraca stare konwertowanie liczb na stringi #8138
- matrix_inverse() - nowa funkcja
- script_execute()/script_execute_ext()
obsługuje konstruktory
- poprawki systemu dźwięku, dzięki czemu dekodowanie dźwięku nie wpływa na główny wątek dźwięku
Lista zmian: releases.gamemaker.io/release-notes/2024/11
Pełna lista poprawek: github.com/YoYoGames/GameMaker-Bugs/milestone/13?closed=1
Od 2025 zmiany w cyklu wydawniczym GM
YYG przedstawiło swoje wstępne plany na 2025 rok. Po pierwsze ujawniono terminy dla brakujących eksportów dotyczące nowego runtime GMRT (oraz wsparcie dla C#), po drugie zmieniono cykl wydawniczy. Po trzecie - znamy datę zakończenia wsparcia dla obecnego runtime.
Nowy cykl wydawniczy
- GM dostanie w tym roku dwa nowe wydania: 2024.11 (w ciągu kilku dni), a następnie... 2024.13, w którym mają pojawić się ostatnia nowa funkcjonalność dla obecnego runtime - layery UI. Numeracja będzie nietypowa (gdyż wersja ta wyjdzie już w 2025), aby dostosować ją do nowej wersji LTS.
- kolejnym wydaniem będzie LTS 2025.0 (okolice kwietnia), i od teraz to będzie główne wydanie GameMakera, zastępując wersje "miesięczne" (które wychodzą teraz co 2-3 miesiące). Wersja LTS będzie w pełni aktualizowana co pół roku - ale aktualizacje np. funkcjonalności IDE, dzięki przepisaniu ich na system pluginów, mogą następować częściej i będą zarządzane przez GMPM (Game Maker Package Manager). Rozciągnięcie w czasie pozwoli na systematyczne dołączanie kolejnych eksportów nowego runtime (GMRT) do kolejnych "dużych" wydań LTS. Nie zmieni się jednak cykl wydawania wersji beta i tam będzie można sprawdzić wszystkie nowości.
- nie chcesz jakiejś nowości w IDE? Wystarczy nie instalować/aktualizować pluginu.
- kolejną "dużą" wersją LTS będzie 2027 - i tym samym w 2027 zakończone zostanie wsparcie dla runtime GMS2, a GMRT stanie się jedynym wspieranym runtime. Jeśli ktoś będzie chciał korzystać ze starego - będzie musiał pozostać na GM 2025 (skoro dostanie update co pół roku - będzie to prawdopodobnie 2025.4). Nowy runtime jest kompatybilny z obecnymi projektami, więc w 99% przypadków wszystko powinno działać tak samo.
Nowości w GMRT
- wsparcie dla JS jest dostępne od bety 0.13
- wsparcie dla C# pojawi się pod koniec 2025
- beta eksportu na WASM (zastępująca HTML5) jest już dostępna
- beta eksportu na Linuxa i MacOS pojawi się w tym roku
- beta eksportu na Androida i iOS pojawi się po nowym roku
- beta eksportu na konsole (PlayStation, Xbox, Switch) pojawi się w drugiej połowie roku
- nie ma jeszcze informacji kiedy zaczną pojawiać się nowe funkcjonalności czy nowe elementy języka GML (v3)
Powolne wygaszanie runtime GMS2 - wsparcie do 2027
- layery UI to ostatnia funkcjonalność dodana do runtime GMS2. Mogą się jeszcze oczywiście pojawić jakieś mikro nowości, ale od wydania 2025 LTS naprawianie będą jedynie bugi i aktualizowane SDK
- od wydania 2027.0, runtime GMS2 nie będzie już aktualizowany (tak samo jak np. GM 1.4.9999), ale będzie można go używać tak długo, jak dana platforma nie wprowadzi zmian, które uniemożliwią kompilowanie gry. Nie trzeba więc martwić się o Windowsa, ale dla konsol czy telefonów może zaistnieć potrzeba przejścia na GMRT w 2028 roku
- dla przypomnienia: obecne "płatne" licencje nie będą obowiązywać na komercyjne wydania gier używających GMRT, ale dla darmowych gier (lub komercyjnych, przed ich wydaniem) można korzystać z GM za darmo (zgodnie ze zmianami z listopada 2023).
Bonusy wersji Enterprise
Abonamentowa wersja GM, która potrzebna jest głównie do eksportów konsolowych, oferować ma nowe, dodatkowe funkcjonalności względem darmowej i komercyjnej licencji:
- prywatny dostęp do kodu źródłowego wszystkich eksportów
- możliwość zbudowania własnej wersji z wybranymi poprawkami, przed wyjściem kolejnej wersji LTS
- osobna prywatna baza na zgłoszenia błędów
- osobny prywatny serwer discord
Jeśli macie jakieś pytania, trwa sesja Q&A dotycząca tych nowości:
forum.gamemaker.io/index.php?threads/gamemaker-winter-update-2024-q-a.116786
Oryginalny wpis na blogu:
gamemaker.io/pl-PL/blog/winter-update-2024
GameMaker kończy 25 lat, GMCLAN 22 lata
Dokładnie 15 listopada 1999, w poniedziałek, Mark Overmars na swojej uczelnianej stronie cs.uu.nl/people/markov/ udostępnił program GameMaker 1.1, służący do tworzenia prostych gier.
My dołączyliśmy do tej przygody niewiele później - 1 listopada 2002 w sieci pojawił się serwis gmclan.iglu.cz - Game Makers' Clan, dziś znany wam jako gmclan.org / gamemaker.pl. Sama polska społeczność powstała jednak ponad rok wcześniej (ok. sierpnia 2001), wraz ze stroną gamem.host.sk .
GM rozwijał się dość dynamicznie (zważywszy na fakt, że do 2007 roku był tworzony przez jedną osobę), przeżywając 4 najważniejsze momenty:
- wydanie wersji 5.0 (interfejs który został z nami do 2017), która zmieniała naprawdę wiele (i mocno przyspieszała GML)
- przejęcie przez YoYoGames które ruszyło w stronę wydawania gry na inne platformy i przepisanie runnerów (począwszy od GM4Mac, GM5pice aż po GM:Studio)
- przejęcie przez Playtech i wydanie GMS 2.0
- przejęcie przez Operę, powrót do nazwy GameMaker, udostępnienie go za darmo w wersji niekomercyjnej, prace nad nowym runtime (GMRT) ze wsparciem dla nowych języków programowania (JS), oraz przygotowanie menadżera pakietów i system pluginów
W kolejne ćwierć wieku GameMaker wchodzi więc z przytupem, na przyszły rok oferując nam być może największe nowości zmiany w swojej historii, a już na pewno dorównujące tym z lat 2012 i 2017.
Historia programu GameMaker
Z tej okazji, YYG wydało też darmową grę w której można poprowadzić... biuro YoYoGames:
W przeglądarce: gx.games/games/6huaaq/gamemaker-25th-anniversary
Na steam: store.steampowered.com/app/3219220
Layery UI przeniesione na styczeń 2025
Nie tak miało wyglądać przesunięcie o miesiąc wydania 2024.10 i połączenie go z 2024.11. YYG przesunęło wczoraj UI layery do wydania styczniowego (2025.1). Teoretycznie więc możemy liczyć jeszcze na zobaczenie ich niczym gwiazdkowego prezentu w grudniu, w praktyce jednak z powodu okresu świątecznego beta wersji 2025.1 ma raptem 2-3 tygodniowe okienko w grudniu w czasie którego mogą się w niej nowe funkcjonalności, gdyż cały styczeń powinien być przeznaczony jedynie na poprawki błędów - zwłaszcza, że wersja styczniowa ma być wersją wyjściową dla nowej wersji LTS 2025 (która wprowadzi wszystkie zmiany z ostatnich 2 lat do wersji LTS 2022).
To oznacza, że o ile wersja LTS nie zostanie również opóźniona, layery UI nie trafią także do niej... pozostaje nam więc czekać na oficjalne wiadomości w tej sprawie.
Na razie nie wiadomo też co z pozostałymi funkcjonalnościami które teoretycznie powinny trafić do listopadowego wydania. Status "zamrożenia" osiągnie ono za 15 dni i od tego dnia, aż do wydania wersji miesięcznej, będziemy dostawać jedynie poprawki. Co nie zdąży do końca października, pojawi się w kolejnych wersjach beta nie wcześniej niż 3 grudnia. Na tę chwilę, na publikację wciąż czekają:
- prefaby
- konwersja SVG na polygony
- pluginy IDE
- update IDE/runtime w tle (Windows)
Roadmapa: roadmap.gamemaker.io
Lista wydań: releases.gamemaker.io
Obecny milestone: github.com/YoYoGames/GameMaker-Bugs/milestone/13
YYG łączy wydania 2024.10 i 2024.11 w jedno
YYG poinformowało, że w związku z opóźnieniami, nie będzie wydania 2024.10, ale za to 2024.11 które miało zawierać jedynie poprawki do wyłapanych przez następne 2-3 tygodnie błędów. Jego funkcję przejmie nieplanowane wcześniej wydanie 2025.1.
Jeśli ktoś czekał na poprawki które nie załapały się do 2024.8 niestety będzie musiał przeczekać na ich wydanie "miesięczne" dodatkowe 4-5 tygodni dłużej, do bety zawitają jednak bez opóźnień.
Dobra wiadomość jest jednak taka, że wg. poprzednich założeń nowe funkcjonalności które nie zostałyby dodane do bety przed końcem września (miesiąc przed wydaniem jest bowiem "zamrożenie" dla nowości), trafiłyby dopiero do wersji 2025.2 (a więc do bety w grudniu lub styczniu). Do tego wszystkie błędy, które do połowy października nie zostałyby naprawione (tu też jest zamrożenie dla nowych zgłoszeń), czekałyby i tak do wydania listopadowego.
Po zmianach, nowe funkcjonalności i bugi mają dodatkowy miesiąc czasu w którym można je dodawać do bety - może to oznaczać, że np. Pluginy czy UI Layery mimo opóźnienia wydania o miesiąc - trafią do nas w wersji beta aż 3 miesiące szybciej (październik, zamiast styczeń/luty). To, czy trafią szybciej do wersji miesięcznej zależeć będzie jednak od liczby błędów które zgłosimy.
Zmiany te mają też pozytywny wpływ na następną wersję LTS - ta z 2025 roku ma wyrównywać wszystko, co zostało dodane od czasu wydania wersji 2022, a zatem funkcjonalności z 2023 i 2024 roku (oraz poprawki z wersji 2025.1).
Oczywiście, jeśli ktoś czuje taką potrzebę, wkrótce wydana zostanie też wersja 2022.0.3 LTS (2022r3), która będzie obsługiwać nowsze SDK, oraz poprawki bugów które nie dotyczą zmian z ostatnich dwóch lat.
Nowa roadmapa: roadmap.gamemaker.io
Lista wydań: releases.gamemaker.io
Obecny milestone: github.com/YoYoGames/GameMaker-Bugs/milestone/13
GameMaker 2024.8 wydany
GameMaker doczekał się sierpniowego wydania, które może rewolucji nie wnosi (bowiem wszystkie najciekawsze rzeczy opóźniono na następne wydanie), ale zawiera kilka zmian którymi i tak warto się zainteresować:
- wsparcie dla flexpaneli (tylko w runtime - w UI layerach wraz z ich wprowadzeniem) - przykład: gmclan.org/news/719
- poprawki kolizji tilesetów
- dodanie gpu_set/get_scissor()
- polecam przykład: gmclan.org/artykul/111
- Android: wsparcie dla nowych wersji Gradle, oraz nowego API 34+
- iOS: wsparcie dla definiowania wspieranych przez grę języków w pliku dla AppStore
- nowe funkcje widoku debugowego w grze (dbg_button(), dbg_drop_down(), dbg_text_separator()
)
- poprawki dla particle_get_info
- poprawki wydajności i zużycia RAMu w IDE
- drobne zmiany w narzędziu do zgłaszania bugów (lepiej widać, że załączniki są ZAWSZE prywatne)
- poprawki przez które czasem nie aktualizował się runtime i zostawał poprzedni (2024.8 wymaga również runtime 2024.8+)
- 327 poprawek
Pełna lista zmian, poprawek, nowych funkcji i enumów: releases.gamemaker.io/release-notes/2024/8
Info na blogu GM: gamemaker.io/en/blog/release-2024-8
Trwa głosowanie na grę, zapowiedź i narzędzie roku.
Do 11 września potrwa głosowanie na najlepsze produkcje GameMakera w ostatnim roku:
Najlepsza gra: Arzette: The Jewel of Faramore, Athenian Rhapsody, Isles of Sea and Sky, Picayune Dreams, The Bunny Graveyard
Najbardziej wyczekiwania gra: ANTONBLAST, Deadlock Station, Fishbowl, Keylocker | Turn Based Cyberpunk Action, Windswept
Najlepsze narzędzie: GameMaker's Testing Library, GMRoomLoader, Post-Processing FX, SnowState, SynthEngine.
Głosować można tutaj: opr.as/GMA24-Vote .
Sierpniowy Asset Bundle z setką obrazków dla particli
Jeśli nie pamiętacie, to od prawie 3 lat YoYoGames oferuje co miesiąc posiadaczom GameMakera zestawy assetów graficznych czy dźwiękowych. Swego czasu dostępne były tylko dla posiadających licencję na program, ale wraz ze zmianami licencji dostępne są za darmo dla każdego kto założy konto na stronie gamemaker.io .
W tym miesiącu zestaw zawiera 100 grafik do tworzenia particli:
Wszystkie paczki (grafiki, dźwięki, utwory) znajdziecie tutaj: gamemaker.io/en/bundles
GMRT - ruszyła otwarta beta nowego runtime
Na ten dzień czekaliśmy od dawna - GM wkracza w zupełnie nową epokę.
Od dziś można testować GameMaker Runtime - GMRT, przepisany od zera silnik który będzie napędzał gry GMowe.
Różni się sposobem kompilacji (do kodu natywnego) co oznacza znaczący wzrost wydajności, co najmniej do poziomu GMS2 YYC. Pozwoli to też na kompilowanie i obsługę dodatkowych języków - już zapowiedziano JS, w planach jest też co najmniej C#. Ułatwi też kompilację dodatkowych, własnych modułów, lub modyfikację tych już istniejących, bez potrzeby tworzenia zewnętrznych rozszerzeń.
Aby wziąć udział w becie wystarczy jedynie pobrać zwyczajną wersję beta GM w wersji 2024.800 lub nowszej, a następnie pobrać wszystkie narzędzia dostępne w GMPM (Game Maker Package Manager).
Pełen opis wymagań i informacji o tym jak korzystać z GMRT znajdziecie tutaj: github.com/YoYoGames/GMRT-Beta/blob/main/docs/introduction/GMRT-beta-intro-and-setup-instructions.md .
Jedną z nowości którą dostajemy już dziś, jest eksperymentalny dostęp do API WebGPU - github.com/YoYoGames/GMRT-Beta/blob/main/docs/webgpu/webgpu_api.md .
Platformy "desktopowe" mają być gotowe do końca 2024, a wszystkie platformy, na początku drugiej połowy 2025.
Więcej informacji o becie GMRT: gamemaker.io/pl-PL/blog/gmrt-open-beta
Zgłaszanie błędów do bety GMRT: github.com/YoYoGames/GMRT-Beta/issues/new/choose
Niekompatybilności względem GML v2.3: github.com/YoYoGames/GMRT-Beta/blob/main/docs/introduction/GMRT-beta-intro-and-setup-instructions.md .
Najnowsze wersje GameMakera:
wydana 27 dni temu
wydana 43 dni temu
wydana 35 dni temu